<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Quizz.DataRepository.Models" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Quizz.DataRepository.Models" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="ArrayOfQuestion">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Question" nillable="true" type="tns:Question" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfQuestion" nillable="true" type="tns:ArrayOfQuestion" />
  <xs:complexType name="Question">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:long" />
      <xs:element minOccurs="0" name="Sumary" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Content" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Mark" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Type" type="xs:int" />
      <xs:element minOccurs="0" name="ShareType" type="xs:int" />
      <xs:element minOccurs="0" name="Status" type="xs:int" />
      <xs:element minOccurs="0" name="Level" type="xs:int" />
      <xs:element minOccurs="0" name="CreatorId" type="xs:long" />
      <xs:element minOccurs="0" name="SubjectId" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="CreatedDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="SectionId" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="Modified" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Order" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="OriginalQuestionId" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="ParentQuestionId" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="ChildQuestions" nillable="true" type="tns:ArrayOfQuestion">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="TemporaryQuestions" nillable="true" type="tns:ArrayOfQuestion">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="Answers" nillable="true" type="tns:ArrayOfAnswer">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Question" nillable="true" type="tns:Question" />
  <xs:complexType name="ArrayOfAnswer">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Answer" nillable="true" type="tns:Answer" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAnswer" nillable="true" type="tns:ArrayOfAnswer" />
  <xs:complexType name="Answer">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:long" />
      <xs:element minOccurs="0" name="Sumary" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="OrderChar" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Content" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsTrue" type="xs:boolean" />
      <xs:element minOccurs="0" name="AnswerSugestion" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="QuestionId" type="xs:long" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Answer" nillable="true" type="tns:Answer" />
  <xs:complexType name="Subject">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:long" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Status" type="xs:int" />
      <xs:element minOccurs="0" name="ParentId" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="SubSubjects" nillable="true" type="tns:ArrayOfSubject">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="Tests" nillable="true" type="tns:ArrayOfTest">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="Questions" nillable="true" type="tns:ArrayOfQuestion">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Subject" nillable="true" type="tns:Subject" />
  <xs:complexType name="ArrayOfSubject">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Subject" nillable="true" type="tns:Subject" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSubject" nillable="true" type="tns:ArrayOfSubject" />
  <xs:complexType name="ArrayOfTest">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Test" nillable="true" type="tns:Test" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTest" nillable="true" type="tns:ArrayOfTest" />
  <xs:complexType name="Test">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:long" />
      <xs:element minOccurs="0" name="Title" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Type" type="xs:int" />
      <xs:element minOccurs="0" name="ShareType" type="xs:int" />
      <xs:element minOccurs="0" name="Status" type="xs:int" />
      <xs:element minOccurs="0" name="Level" type="xs:int" />
      <xs:element minOccurs="0" name="TestTime" type="xs:double" />
      <xs:element minOccurs="0" name="SubjectId" type="xs:long" />
      <xs:element minOccurs="0" name="Modified" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Sections" nillable="true" type="tns:ArrayOfSection">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Test" nillable="true" type="tns:Test" />
  <xs:complexType name="ArrayOfSection">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Section" nillable="true" type="tns:Section" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSection" nillable="true" type="tns:ArrayOfSection" />
  <xs:complexType name="Section">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:long" />
      <xs:element minOccurs="0" name="Title" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Content" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Order" nillable="true" type="xs:int" />
      <xs:element minOccurs="0" name="TestId" type="xs:long" />
      <xs:element minOccurs="0" name="Questions" nillable="true" type="tns:ArrayOfQuestion">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Section" nillable="true" type="tns:Section" />
  <xs:complexType name="User">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:long" />
      <xs:element minOccurs="0" name="FirstName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="LastName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Password" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsLocked" type="xs:boolean" />
      <xs:element minOccurs="0" name="RegisterDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="IsDeleted" type="xs:boolean" />
      <xs:element minOccurs="0" name="Phone" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Address" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Avartar" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Status" type="xs:int" />
      <xs:element minOccurs="0" name="RoleId" type="xs:long" />
      <xs:element minOccurs="0" name="LoginLogs" nillable="true" type="tns:ArrayOfLoginLog">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="Posts" nillable="true" type="tns:ArrayOfPost">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="TestResults" nillable="true" type="tns:ArrayOfTestResult">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="Threads" nillable="true" type="tns:ArrayOfThread">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="Questions" nillable="true" type="tns:ArrayOfQuestion">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="User" nillable="true" type="tns:User" />
  <xs:complexType name="ArrayOfLoginLog">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="LoginLog" nillable="true" type="tns:LoginLog" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfLoginLog" nillable="true" type="tns:ArrayOfLoginLog" />
  <xs:complexType name="LoginLog">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:long" />
      <xs:element minOccurs="0" name="SessionId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserId" type="xs:long" />
      <xs:element minOccurs="0" name="LoginTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="LogoutTime" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="IsOnline" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LoginLog" nillable="true" type="tns:LoginLog" />
  <xs:complexType name="ArrayOfPost">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Post" nillable="true" type="tns:Post" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPost" nillable="true" type="tns:ArrayOfPost" />
  <xs:complexType name="Post">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:long" />
      <xs:element minOccurs="0" name="Content" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UserId" type="xs:long" />
      <xs:element minOccurs="0" name="ThreadId" type="xs:long" />
      <xs:element minOccurs="0" name="CreatedDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="Status" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Post" nillable="true" type="tns:Post" />
  <xs:complexType name="ArrayOfTestResult">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TestResult" nillable="true" type="tns:TestResult" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTestResult" nillable="true" type="tns:ArrayOfTestResult" />
  <xs:complexType name="TestResult">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:long" />
      <xs:element minOccurs="0" name="UserId" type="xs:long" />
      <xs:element minOccurs="0" name="Results" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:any minOccurs="0" processContents="lax" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" name="StartTime" type="xs:dateTime" />
      <xs:element minOccurs="0" name="EndTime" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="TotalMark" type="xs:double" />
      <xs:element minOccurs="0" name="ResultMark" nillable="true" type="xs:double" />
      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TestResult" nillable="true" type="tns:TestResult" />
  <xs:complexType name="ArrayOfThread">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Thread" nillable="true" type="tns:Thread" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfThread" nillable="true" type="tns:ArrayOfThread" />
  <xs:complexType name="Thread">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:long" />
      <xs:element minOccurs="0" name="Title" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="CreatedDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="CategoryId" type="xs:long" />
      <xs:element minOccurs="0" name="CreatorId" type="xs:long" />
      <xs:element minOccurs="0" name="Posts" nillable="true" type="tns:ArrayOfPost">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Thread" nillable="true" type="tns:Thread" />
  <xs:complexType name="ArrayOfUser">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="User" nillable="true" type="tns:User" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUser" nillable="true" type="tns:ArrayOfUser" />
  <xs:complexType name="Menu">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:long" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Url" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Content" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Order" type="xs:int" />
      <xs:element minOccurs="0" name="Type" type="xs:int" />
      <xs:element minOccurs="0" name="ParentMenuId" nillable="true" type="xs:long" />
      <xs:element minOccurs="0" name="ForRole" type="xs:long" />
      <xs:element minOccurs="0" name="Childrens" nillable="true" type="tns:ArrayOfMenu">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Menu" nillable="true" type="tns:Menu" />
  <xs:complexType name="ArrayOfMenu">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Menu" nillable="true" type="tns:Menu" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfMenu" nillable="true" type="tns:ArrayOfMenu" />
  <xs:complexType name="Role">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:long" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Users" nillable="true" type="tns:ArrayOfUser">
        <xs:annotation>
          <xs:appinfo>
            <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Role" nillable="true" type="tns:Role" />
  <xs:complexType name="ArrayOfRole">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Role" nillable="true" type="tns:Role" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRole" nillable="true" type="tns:ArrayOfRole" />
  <xs:complexType name="Property">
    <xs:sequence>
      <xs:element minOccurs="0" name="Id" type="xs:long" />
      <xs:element minOccurs="0" name="Type" type="xs:int" />
      <xs:element minOccurs="0" name="Value" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Title" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Property" nillable="true" type="tns:Property" />
  <xs:complexType name="ArrayOfProperty">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Property" nillable="true" type="tns:Property" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfProperty" nillable="true" type="tns:ArrayOfProperty" />
</xs:schema>